package org.dxy.domain.event.workstation;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Value;
import org.dxy.domain.event.AggregateTypeEnum;
import org.dxy.domain.event.DomainEvent;

import java.time.LocalDateTime;

/**
 * 事件：工位从暂停状态恢复
 * 表示某个处于暂停状态的工位恢复运行。
 */
@Value
@Builder
@AllArgsConstructor
public class WorkstationResumedEvent implements DomainEvent {

    /**
     * 工位 ID
     */
    Long workstationId;

    /**
     * 恢复操作人
     */
    String operator;

    /**
     * 恢复时间
     */
    LocalDateTime resumedAt;
    
    @Override
    public Long aggregateId() {
        return workstationId;
    }
    
    @Override
    public String aggregateType() {
        return AggregateTypeEnum.WORKSTATION.getKey();
    }
    
    @Override
    public String eventType() {
        return WorkstationEventTypeEnum.RESUMED.getKey();
    }
}
